踩坑复盘:Claude Code 映射网盘找不到历史对话记录(终极临时解法

📖 精选 ✍️ Jason | 📅 2026-06-19 | 👍 1 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/Claude Code #质量/普通

原帖 | Jason | 2026-06-19 19:32 | 👍1 | 阅读约1

踩坑复盘:Claude Code 映射网盘找不到历史对话记录(终极临时解法)

最近日常用 VSCode + Claude Code 插件开发,踩了一个非常隐蔽的适配坑:打开 Windows 映射网盘里面的项目,插件侧边栏历史会话全部丢失。

每次打开都是全新会话,之前的对话记录完全看不到,一度以为历史记录自动清空了。折腾排查后找到根本原因,同时整理出可直接复用的永久临时方案,分享给有同样困扰的朋友。

问题完整现象:我的项目存放在网络映射盘(如 Q 盘),也就是 Ubuntu 虚拟机 samba 出来的盘,用 VSCode 打开时出现两个矛盾现象:

1. VS Code 插件侧边栏:历史会话列表永久为空,无任何记录

2. 本地终端执行  claude --resume :可以正常加载、查看所有历史会话

重启 VS Code、重载窗口、重装插件全部无效,问题稳定复现。

核心根因:VSCode 中 Claude Code 插件 和 CLI 内核,对映射盘的路径解析逻辑不一致,导致读写会话文件的文件夹不匹配,相当于「存在 A 文件夹,插件去 B 文件夹找,自然找不到」。

1、CLI 正常逻辑(存文件的逻辑)

终端 CLI 只会识别原始盘符路径,不会解析真实底层路径:比如  Q:\Android11\android11-dev 
直接编码为: q--Android11-android11-dev 

所有历史会话文件,全部统一存在这个目录下:C:\Users\用户名.claude\projects\对应编码文件夹 

2、VSCode 插件异常逻辑(找文件的逻辑)

插件会强制调用  fs.realpath() ,自动穿透映射盘符,解析出底层真实物理路径:

  • 网络映射盘(net use):Q 盘会解析为 NAS/局域网共享真实UNC路径  \192.168.31.103\share\xxx 

  • 虚拟盘(subst):Q盘会解析为本地原路径  C:\xxx\xxx 

解析后的全新路径,会重新编码生成一个全新的空文件夹名,插件只会在这个空目录里检索,自然找不到 CLI 保存的历史记录。

极简修复方案(永久可用)

不用改配置、不用改源码、不用等待官方更新,创建目录联接(Junction) 即可双向互通。

原理:让插件检索的空目录,直接映射到CLI 真实存文件的目录,双向同步数据,读写完全正常。

通用操作步骤

1. 查看历史存储目录
PowerShell 执行命令,查看CLI真实生成的会话文件夹:

Get-ChildItem "$env:USERPROFILE.claude\projects" |
Sort-Object LastWriteTime -Descending |
Select-Object Name, LastWriteTime

排在最前、最新修改的文件夹,就是你的真实会话目录。

2. 判断自己的盘符映射类型

查看网络映射盘

net use Q:

查看本地虚拟盘

subst

根据真实路径,推算出插件检索的空目录名称。

3. 创建目录联接(一键修复)

套用模板执行命令,路径替换为自己的两个文件夹名即可:

New-Item -ItemType Junction -Path "$env:USERPROFILE\.claude\projects\插件检索的空目录名"
-Target "$env:USERPROFILE.claude\projects\CLI真实存储目录名"

4. 生效操作
VS Code 按下  Ctrl+Shift+P ,执行  Developer: Reload Window ,历史记录瞬间全部恢复。

我的实操案例(可直接参考)

Q 盘为局域网 192.168.31.103 共享映射盘,执行命令如下:

New-Item -ItemType Junction -Path "$env:USERPROFILE\.claude\projects\--192-168-31-103-share-Android11-android11-dev"
-Target "$env:USERPROFILE.claude\projects\q--Android11-android11-dev"

临时兜底方案(应急使用)

不想创建目录联接的话,可通过终端手动恢复会话:在VS Code集成终端执行:

claude --resume

缺点:终端可正常恢复历史对话,但侧边栏依然不显示记录,仅适合临时应急。

后续说明

这个问题不是个案,官方 GitHub 已有多个对应 Issue(#31219、#33140、#63527),属于插件路径解析的固有Bug。

后续官方版本修复后,直接删除创建的Junction联接即可,不会影响任何已保存的历史会话数据:

Remove-Item "联接文件夹完整路径"

总结避坑

1. 本地盘符开发无此问题,仅网络映射盘、subst虚拟盘会触发
2. 问题本质是「CLI 原生路径 VS 插件真实路径」解析不一致
3. 目录联接是目前最稳定、零副作用的长期解决方案
4. 无需等待官方更新,一次配置永久生效

b970c380950b.jpg

537e06c52aa4.jpg


相关笔记